matplotlib中的刻度,标签(重置自定义标签) 您所在的位置:网站首页 plot 设置坐标 matplotlib中的刻度,标签(重置自定义标签)

matplotlib中的刻度,标签(重置自定义标签)

2023-08-04 10:04| 来源: 网络整理| 查看: 265

matplotlib中的刻度,标签(重置自定义标签) 目录 1  设置标题、轴标签、刻度和刻度标签2  补充示例: 设置标题、轴标签、刻度和刻度标签

首先我们通过随机漫步生成简单的图表:

import numpy as np import matplotlib.pyplot as plt # 生成随机漫步数据 data = np.random.randn(1000).cumsum() fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.plot(data) plt.show()

在这里插入图片描述

要改变x轴刻度,最简单的方式是使用set_xticks和set_xticklabels。set_xticks表示在数据范围内设定刻度的位置,默认情况下这些刻度也有标签。但是我们可以使用set_xticklabels来为标签赋值:

fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.plot(data) # ticks在原数据的范围内 ticks = ax.set_xticks([0, 250, 500, 750, 1000]) plt.show()

在这里插入图片描述

使用set_xticks和set_xticklabels来自定义标签:

fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.plot(data) # ticks在原数据的范围内,设定主刻度的位置 ax.set_xticks([0, 250, 500, 750, 1000]) # 设置主刻度的标签, 带入主刻度旋转角度和字体大小参数 ax.set_xticklabels(['one', 'two', 'three', 'four', 'five'], rotation=30, fontsize=12) ax.set_title('My frist plot') # 设置ax标题 ax.set_xlabel('Stages') # 设置x轴标签 plt.show()

在这里插入图片描述

补充示例:

我们一般绘图时会遇到时间刻度的问题:

import pandas as pd # 产生3天分辨率为一小时的时间序列 time_series = pd.date_range('2019-11-01', freq='H', periods=24*3) data = np.random.randn(24*3).cumsum() ax = plt.subplot() ax.plot(time_series, data) plt.show()

在这里插入图片描述

原生的优化还是不错的,我们自己手动实现一个优化版本,将月份也提取出来(都是11月的数据):

def get_day_hour(timestamp): return '{:0>2} {:0>2}'.format(timestamp.day, timestamp.hour) ax = plt.subplot() xticks = list(range(24*3)) ax.plot(data) # 自动处理时间的时候,右边界有处理,手动处理时要自己添加 #(根据图表结果判断需不需要处理) ax.set_xticks(xticks[::12]+[len(xticks)]) ax.set_xticklabels(list(map(get_day_hour, time_series[::12]))+['04 00']) ax.set_xlabel('2019-11') plt.show()

在这里插入图片描述 由此可见set_xticks和set_xticklabels的联合使用可以解决自定义x坐标轴刻度的问题。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有